part of 'daily_report_bloc.dart';

sealed class DailyReportState extends Equatable {
  const DailyReportState();
}

final class DailyReportInitial extends DailyReportState {
  @override
  List<Object> get props => [];
}

final class DailyReportLocalDeliveryStatisticsLoadingState extends DailyReportState {
  const DailyReportLocalDeliveryStatisticsLoadingState();

  @override
  List<Object> get props => [];
}

final class DailyReportLocalDeliveryStatisticsSuccessState extends DailyReportState {
  final LocalDeliveryStatisticsBean localDeliveryStatisticsBean;
  final IndependentStatisticalBean independentStatisticalBean;

  const DailyReportLocalDeliveryStatisticsSuccessState({required this.localDeliveryStatisticsBean, required this.independentStatisticalBean});

  @override
  List<Object> get props => [localDeliveryStatisticsBean, independentStatisticalBean];
}

final class DailyReportLocalDeliveryStatisticsFailureState extends DailyReportState {
  final String failureMsg;

  const DailyReportLocalDeliveryStatisticsFailureState({required this.failureMsg});

  @override
  List<Object> get props => [failureMsg];
}

final class OtherTopThirtyLoadingState extends DailyReportState {
  const OtherTopThirtyLoadingState();

  @override
  List<Object> get props => [];
}

final class OtherTopThirtySuccessState extends DailyReportState {
  final OtherTopThirtyBean otherTopThirtyBean;

  const OtherTopThirtySuccessState({required this.otherTopThirtyBean});

  @override
  List<Object> get props => [otherTopThirtyBean];
}

final class OtherTopThirtyFailureState extends DailyReportState {
  final String failureMsg;

  const OtherTopThirtyFailureState({required this.failureMsg});

  @override
  List<Object> get props => [failureMsg];
}

// 第三方
final class ThirdPartyLoadingState extends DailyReportState {
  const ThirdPartyLoadingState();

  @override
  List<Object> get props => [];
}

final class ThirdPartySuccessState extends DailyReportState {
  final ThirdPartyBean thirdPartyBean;
  const ThirdPartySuccessState({required this.thirdPartyBean});
  @override
  List<Object> get props => [thirdPartyBean];
}

final class ThirdPartyFailureState extends DailyReportState {
  final String failureMsg;
  const ThirdPartyFailureState({required this.failureMsg});
  @override
  List<Object> get props => [failureMsg];
}
final class SpecifyCustomerLoadingState extends DailyReportState {
  const SpecifyCustomerLoadingState();

  @override
  List<Object> get props => [];
}

// 第三方
final class CmsTicketLoadingState extends DailyReportState {
  const CmsTicketLoadingState();

  @override
  List<Object> get props => [];
}

// Cms
final class CmsTicketSuccessState extends DailyReportState {
  final CmsTicketBean cmsTicketBean;
  const CmsTicketSuccessState({required this.cmsTicketBean});
  @override
  List<Object> get props => [cmsTicketBean];
}

final class CmsTicketFailureState extends DailyReportState {
  final String failureMsg;
  const CmsTicketFailureState({required this.failureMsg});
  @override
  List<Object> get props => [failureMsg];
}

// 每日数据
final class DailyVoteLoadingState extends DailyReportState {
  const DailyVoteLoadingState();

  @override
  List<Object> get props => [];
}

final class DailyVoteSuccessState extends DailyReportState {
  final DailyVoteBean dailyVoteBean;
  const DailyVoteSuccessState({required this.dailyVoteBean});
  @override
  List<Object> get props => [dailyVoteBean];
}

final class DailyVoteFailureState extends DailyReportState {
  final String failureMsg;
  const DailyVoteFailureState({required this.failureMsg});
  @override
  List<Object> get props => [failureMsg];
}

// 运单列印
final class DailyInformationLoadingState extends DailyReportState {
  const DailyInformationLoadingState();

  @override
  List<Object> get props => [];
}

final class DailyInformationSuccessState extends DailyReportState {
  final DailyInformationBean dailyInformationBean;
  final DailyInformationBean dailyInformationAllBean;
  const DailyInformationSuccessState({required this.dailyInformationBean, required this.dailyInformationAllBean});
  @override
  List<Object> get props => [dailyInformationBean, dailyInformationAllBean];
}

final class DailyInformationFailureState extends DailyReportState {
  final String failureMsg;
  const DailyInformationFailureState({required this.failureMsg});
  @override
  List<Object> get props => [failureMsg];
}

// 签收统计
final class SignStatisticsLoadingState extends DailyReportState {
  const SignStatisticsLoadingState();
  @override
  List<Object> get props => [];
}

final class SignStatisticsSuccessState extends DailyReportState {
  final List<Map<String, dynamic>> signStatistics;
  const SignStatisticsSuccessState({required this.signStatistics});
  @override
  List<Object> get props => [signStatistics];
}

final class SignStatisticsFailureState extends DailyReportState {
  final String failureMsg;
  const SignStatisticsFailureState({required this.failureMsg});
  @override
  List<Object> get props => [failureMsg];
}


final class DailyAllLoadingState extends DailyReportState {

  const DailyAllLoadingState();
  @override
  List<Object> get props => [];
}
